<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
	<title>OiL: Installation</title>
	<style type="text/css" media="all"><!--
		@import "../oil.css";
		@import "../layout1.css";
		;
	--></style>
</head>

<body>

<div id="Header">An Object Request Broker in Lua </div>
<div id="Logo"><img alt="small (1K)" src="../small.gif" height="49" width="80"></div>

<div id="Menu">
<div class="outside"><div class="inside"><ul>
	<li><a href="../index.html", title="">Home</a></li>
	<li><strong>Install</strong>
		<div class="outside"><div class="inside"><ul>
			<li><a href="changes.html", title="Release Notes">Changes</a></li>
			<li><a href="previous.html", title="Previous Releases">Previous</a></li>
		</ul></div></div>
	</li>
	<li><a href="../manual/index.html", title="User Manual">Manual</a></li>
	<li><a href="../about/papers.html", title="Conference Papers">Papers</a></li>
	<li><a href="../contact.html", title="Contact People">Contact</a></li>
	<li><a href="http://luaforge.net/projects/oil/", title="Project at LuaForge">LuaForge</a></li>
</ul></div></div>

</div>

<div class="content">
<h1>Installation</h1>
<a name="rock"><h2>Rock</h2></a>

<p>You can install OiL through <a href="http://www.luarocks.org/">LuaRocks</a> using the following command.</p>

<pre>   luarocks install oil</pre>

<a name="win32bin"><h2>Binaries</h2></a>

<p>If you just want to use OiL in a Microsoft Windows platform then use one of the following binary packages below:</p>

<ul>
	<li>
		<strong>Executables and Demos</strong>
		[<a href="http://luaforge.net/frs/download.php/3545/oil-0.4-beta-win32.zip">win32</a>]
		<br>
		This package includes the Lua stand-alone interpreter, all C libraries required by OiL already compiled, and all OiL's implementation as Lua scripts so they can be edited and dynamically loaded in the Lua interpreter.
		This package also includes all OiL demos.
		Use this package to try OiL out and study its implementation and demos.
	</li>
	<br>
	<li>
		<strong>Pre-Compiled Libraries</strong>
		[<a href="http://luaforge.net/frs/download.php/3546/oil-0.4-beta-vc6.zip">vc6</a>]
		[<a href="http://luaforge.net/frs/download.php/3547/oil-0.4-beta-vc7.zip">vc7</a>]
		[<a href="http://luaforge.net/frs/download.php/3548/oil-0.4-beta-vc8.zip">vc8</a>]
		[<a href="http://luaforge.net/frs/download.php/3549/oil-0.4-beta-dll.zip">dll6</a>]
		[<a href="http://luaforge.net/frs/download.php/3550/oil-0.4-beta-dll7.zip">dll7</a>]
		[<a href="http://luaforge.net/frs/download.php/3551/oil-0.4-beta-dll8.zip">dll8</a>]
		<br>
		This package includes pre-compiled libraries of OiL and all its required libraries (<a href="http://loop.luaforge.net/">LOOP</a>, LuaIDL, and <a href="http://www.tecgraf.puc-rio.br/~diego/professional/luasocket/">LuaSocket</a>).
		The DLL version of these libraries can be installed in the Lua path for C libraries (see <a href="http://www.lua.org/manual/5.1/manual.html#pdf-package.loaders">Lua's manual</a>) and dynamically loaded in the Lua's stand-alone interpreter.
		Use this package to install OiL in a environment that already have Lua installed.
	</li>
	<br>
	<li>
		<strong>Pre-Loading Library</strong>
		[<a href="http://luaforge.net/frs/download.php/3552/oilall-0.4-beta-vc6.zip">vc6</a>]
		[<a href="http://luaforge.net/frs/download.php/3553/oilall-0.4-beta-vc7.zip">vc7</a>]
		[<a href="http://luaforge.net/frs/download.php/3554/oilall-0.4-beta-vc8.zip">vc8</a>]
		[<a href="http://luaforge.net/frs/download.php/3555/oilall-0.4-beta-dll.zip">dll</a>]
		[<a href="http://luaforge.net/frs/download.php/3556/oilall-0.4-beta-dll7.zip">dll7</a>]
		[<a href="http://luaforge.net/frs/download.php/3557/oilall-0.4-beta-dll8.zip">dll8</a>]
		<br>
		This package includes a library that can be linked into an application to pre-load the full OiL implementation.
		For an example of the use of this package, see demo <code>run</code> included in the <a href="#source">source package</a>).
		Use this package to embed OiL in applications.
	</li>
</ul>

<a name="source"><h2>Source</h2></a>

<p>OiL is provided as free software under the terms of the <a href="http://www.opensource.org/licenses/mit-license.html">MIT license</a>, which are the same terms of the <a href="http://www.lua.org/license.html">Lua's license</a>.
You can download the OiL package from the following link.
The package below also contains the source code of <a href="http://loop.luaforge.net/">LOOP</a> and <a href="http://www.tecgraf.puc-rio.br/~diego/professional/luasocket/">LuaSocket</a> libraries.</p>
<ul>
	<li>
	OiL 0.4 beta
	[<a href="http://luaforge.net/frs/download.php/3558/oil-0.4-beta.tar.gz">tar.gz</a>]
	[<a href="http://luaforge.net/frs/download.php/3559/oil-0.4-beta.zip">zip</a>]
	</li>
</ul>

<strong>See also:</strong>
<ul>
	<li><a href="changes.html">Release Notes</a></li>
	<li><a href="previous.html">Previous Releases</a></li>
</ul>

<h3>Building from Source</h3>

<p>OiL is almost entirely written in Lua, however it requires some supporting libraries written in C.
Therefore, to install OiL, you need to compile this libraries.
To do such, you must first read and edit the <code>config</code> file included in the source package.</p>

<p>For your convenience, the package includes some pre-configured compilation options for platforms Linux, Solaris and MacOS X.
If you want to use one of these configurations, use one of the following commands before the installation.</p>

<center>
	<table width=50%>
		<tr>
			<td><strong>Linux:</strong></td>
			<td><code>$ make linux</code></td>
		</tr>
		<tr>
			<td><strong>Solaris:</strong></td>
			<td><code>$ make solaris</code></td>
		</tr>
		<tr>
			<td><strong>MacOS X:</strong></td>
			<td><code>$ make macosx</code></td>
		</tr>
	</table>
</center>

<h3>Installing from Source</h3>

<p>After you built OiL, you can choose one of the installation procedures described below.</p>

<ul>
	<li><strong>Standard</strong><br>
		Installs the Lua files and C libraries of modules that compose OiL.
		This option is useful for playing with OiL implementation, because you will be able to modify its implementation by changing the Lua files.
		<pre>$ make install</pre>
	</li>
	<li><strong>Pre-Compiled</strong><br>
		Installs a set of libraries containing all modules that compose OiL implementation already pre-compiled.
		This option is useful for users that don't intend to make changes in OiL implementation.
		<pre>$ make install-precomp</pre>
	</li>
	<li><strong>Pre-Loading</strong><br>
		Installs a single library containing all C libraries and Lua files pre-compiled for preloading into embedded Lua applications.
		This option is useful for developers that intend to include OiL in other applications by linking into a single file.
		See demo 'run' for more details.
		<pre>$ make install-preload</pre>
	</li>
</ul>

<h3>Environment setup</h3>

<p>In order to load OiL package in the Lua stand-alone interpreter, you must add the paths where you installed OiL and LuaSocket to the <code>LUA_PATH</code> and <code>LUA_CPATH</code> environment variables. For example, if you installed Lua files of OiL and LuaSocket (see <code>INSTALL_LMOD</code> macro in file <code>config</code>) into directory <code>/usr/local/share/lua/5.1/</code> then <code>LUA_PATH</code> must be set to:</p>

<p><code>LUA_PATH=";;/usr/local/share/lua/5.1/?.lua"</code></p>

<p>A similar approach is used for the <code>LUA_CPATH</code> environment variable. Supose you have installed the C libraries of OiL and LuaSocket (see <code>INSTALL_CMOD</code> macro in file <code>config</code>) into directory <code>/usr/local/lib/lua/5.1/</code> then <code>LUA_CPATH</code> must be set to:</p>

<p><code>LUA_CPATH=";;/usr/local/lib/lua/5.1/?.so"</code></p>

<p>For further information on the use of <code>LUA_PATH</code> and  <code>LUA_CPATH</code> environment variable, check the <a href="http://www.lua.org/manual/5.1/manual.html#pdf-package.path">Lua manual</a>.</p>

</div>

<div class="content">
<p><small><strong>Copyright (C) 2004-2008 Tecgraf, PUC-Rio</strong></small></p>
<small>This project is currently being maintained by <a href="http://www.tecgraf.puc-rio.br">Tecgraf</a> at <a href="http://www.puc-rio.br">PUC-Rio</a> with grants from <a href="http://www.capes.gov.br">CAPES</a> and <a href="http://www.cnpq.br">CNPq</a>.</small>
</div>



</body>

</html>
